![]() | Artiklis ei ole piisavalt viiteid. (Aprill 2020) |
Jaga-ja-valitse algoritmid on klass algoritme arvutiteaduses mis põhinevad mitmeharulisel rekursioonil. Jaga-ja-valitse algoritmid põhinevad probleemi kaheks või rohkemaks sarnaseks alamprobleemiks jagamisel, kuni need muutuvad piisavalt lihtsaks, et otseselt lahendada. Seejärel alamprobleemide lahendid kombineeritakse, et saada algse probleemi lahend.
See tehnika on alus efektiivsetele algoritmitele erinevate probleemide jaoks, näiteks sortimine (kiirsortimine, mestimissortimine), suurte arvude korrutamine (Karatsuba algoritm), lähima punktipaari leidmine ja lauseanalüüs.
Jaga-ja-valitse algoritmide põhimõte on sarnane matemaatilise induktsiooniga; viimane on ka viis nende algoritmide korrektsuse tõestamiseks. Jaga-ja-valitse algoritmide algoritmilist keerukust määratakse sageli rekurentsusseoste arvutamise teel.